package com.wx.tgp.designpattern.StrategyPattern.Shoppingmall;

/**
 * 策略封装类，把所有的策略具体类封装到这个类中。
 * 在这个类中。糅合进了简单工厂式，把策略模式与简单工厂模式的结合使用
 */
public class FactoryPay {
    private Paymate paymate = null;
    /**
     *
     * @param type  购物类型
     * @param price  商品价格
     */
    public void newPaymate(int type,double price){
        switch (type){
            // 商场购物打折活动
            case 1 : paymate = new DiscountPay(price); break;
            // 商场购物返利
            case 2 : paymate = new RebatePay(price); break;
        }
    }

    public double getResult(){
      return this.paymate.shoppingPay();
    }
}
